package com.proyemp.entity.classes;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;


/**
 * The persistent class for the empleados database table.
 * 
 */
@Entity
@Table(name="empleados")
public class Empleado implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="numero_empleado")
	private Integer numeroEmpleado;

	private String apellido1;

	private String apellido2;

	private Integer cedula;

    @Temporal( TemporalType.DATE)
	@Column(name="fecha_actualizacion")
	private Date fechaActualizacion;

    @Temporal( TemporalType.DATE)
	@Column(name="fecha_nacimiento")
	private Date fechaNacimiento;

	private String nombre1;

	private String nombre2;

	@Column(name="usuario_modificacion")
	private String usuarioModificacion;

	//bi-directional many-to-one association to AliadosEmpleado
	@OneToMany(mappedBy="empleado")
	private Set<AliadosEmpleado> aliadosEmpleados;

	//bi-directional many-to-one association to CapacitacionesEmpleado
	@OneToMany(mappedBy="empleado")
	private Set<CapacitacionesEmpleado> capacitacionesEmpleados;

	//bi-directional many-to-one association to CargosEmpleado
	@OneToMany(mappedBy="empleado")
	private Set<CargosEmpleado> cargosEmpleados;

	//bi-directional many-to-one association to ClientesEmpleado
	@OneToMany(mappedBy="empleado")
	private Set<ClientesEmpleado> clientesEmpleados;

	//bi-directional many-to-one association to Curriculo
	@OneToMany(mappedBy="empleado")
	private Set<Curriculo> curriculos;

	//bi-directional many-to-one association to DireccionesEmpleado
	@OneToMany(mappedBy="empleado")
	private Set<DireccionesEmpleado> direccionesEmpleados;

	//bi-directional many-to-many association to Email
	@ManyToMany(mappedBy="empleados")
	private Set<Email> emails;

	//bi-directional many-to-one association to EmpleadosCierranPrograma
	@OneToMany(mappedBy="empleado")
	private Set<EmpleadosCierranPrograma> empleadosCierranProgramas;

	//bi-directional many-to-one association to EstadoEmpleadosHistorico
	@OneToMany(mappedBy="empleado")
	private Set<EstadoEmpleadosHistorico> estadoEmpleadosHistoricos;

	//bi-directional many-to-one association to Gasto
	@OneToMany(mappedBy="empleado")
	private Set<Gasto> gastos;

	//bi-directional many-to-one association to InteresesEmpleado
	@OneToMany(mappedBy="empleado")
	private Set<InteresesEmpleado> interesesEmpleados;

	//bi-directional many-to-one association to LicenciasEmpleado
	@OneToMany(mappedBy="empleado")
	private Set<LicenciasEmpleado> licenciasEmpleados;

	//bi-directional many-to-one association to Queja
	@OneToMany(mappedBy="empleado1")
	private Set<Queja> quejas1;

	//bi-directional many-to-one association to Queja
	@OneToMany(mappedBy="empleado2")
	private Set<Queja> quejas2;

	//bi-directional many-to-one association to ReservasEmpleadosUsuario
	@OneToMany(mappedBy="empleado")
	private Set<ReservasEmpleadosUsuario> reservasEmpleadosUsuarios;

	//bi-directional many-to-one association to SueldosEmpleado
	@OneToMany(mappedBy="empleado")
	private Set<SueldosEmpleado> sueldosEmpleados;

	//bi-directional many-to-one association to TarjetasPresentacionEmpleado
	@OneToMany(mappedBy="empleado")
	private Set<TarjetasPresentacionEmpleado> tarjetasPresentacionEmpleados;

	//bi-directional many-to-one association to TelefonosEmpleado
	@OneToMany(mappedBy="empleado")
	private Set<TelefonosEmpleado> telefonosEmpleados;

	//bi-directional many-to-one association to Usuario
	@OneToMany(mappedBy="empleado")
	private Set<Usuario> usuarios;

    public Empleado() {
    }

	public Integer getNumeroEmpleado() {
		return this.numeroEmpleado;
	}

	public void setNumeroEmpleado(Integer numeroEmpleado) {
		this.numeroEmpleado = numeroEmpleado;
	}

	public String getApellido1() {
		return this.apellido1;
	}

	public void setApellido1(String apellido1) {
		this.apellido1 = apellido1;
	}

	public String getApellido2() {
		return this.apellido2;
	}

	public void setApellido2(String apellido2) {
		this.apellido2 = apellido2;
	}

	public Integer getCedula() {
		return this.cedula;
	}

	public void setCedula(Integer cedula) {
		this.cedula = cedula;
	}

	public Date getFechaActualizacion() {
		return this.fechaActualizacion;
	}

	public void setFechaActualizacion(Date fechaActualizacion) {
		this.fechaActualizacion = fechaActualizacion;
	}

	public Date getFechaNacimiento() {
		return this.fechaNacimiento;
	}

	public void setFechaNacimiento(Date fechaNacimiento) {
		this.fechaNacimiento = fechaNacimiento;
	}

	public String getNombre1() {
		return this.nombre1;
	}

	public void setNombre1(String nombre1) {
		this.nombre1 = nombre1;
	}

	public String getNombre2() {
		return this.nombre2;
	}

	public void setNombre2(String nombre2) {
		this.nombre2 = nombre2;
	}

	public String getUsuarioModificacion() {
		return this.usuarioModificacion;
	}

	public void setUsuarioModificacion(String usuarioModificacion) {
		this.usuarioModificacion = usuarioModificacion;
	}

	public Set<AliadosEmpleado> getAliadosEmpleados() {
		return this.aliadosEmpleados;
	}

	public void setAliadosEmpleados(Set<AliadosEmpleado> aliadosEmpleados) {
		this.aliadosEmpleados = aliadosEmpleados;
	}
	
	public Set<CapacitacionesEmpleado> getCapacitacionesEmpleados() {
		return this.capacitacionesEmpleados;
	}

	public void setCapacitacionesEmpleados(Set<CapacitacionesEmpleado> capacitacionesEmpleados) {
		this.capacitacionesEmpleados = capacitacionesEmpleados;
	}
	
	public Set<CargosEmpleado> getCargosEmpleados() {
		return this.cargosEmpleados;
	}

	public void setCargosEmpleados(Set<CargosEmpleado> cargosEmpleados) {
		this.cargosEmpleados = cargosEmpleados;
	}
	
	public Set<ClientesEmpleado> getClientesEmpleados() {
		return this.clientesEmpleados;
	}

	public void setClientesEmpleados(Set<ClientesEmpleado> clientesEmpleados) {
		this.clientesEmpleados = clientesEmpleados;
	}
	
	public Set<Curriculo> getCurriculos() {
		return this.curriculos;
	}

	public void setCurriculos(Set<Curriculo> curriculos) {
		this.curriculos = curriculos;
	}
	
	public Set<DireccionesEmpleado> getDireccionesEmpleados() {
		return this.direccionesEmpleados;
	}

	public void setDireccionesEmpleados(Set<DireccionesEmpleado> direccionesEmpleados) {
		this.direccionesEmpleados = direccionesEmpleados;
	}
	
	public Set<Email> getEmails() {
		return this.emails;
	}

	public void setEmails(Set<Email> emails) {
		this.emails = emails;
	}
	
	public Set<EmpleadosCierranPrograma> getEmpleadosCierranProgramas() {
		return this.empleadosCierranProgramas;
	}

	public void setEmpleadosCierranProgramas(Set<EmpleadosCierranPrograma> empleadosCierranProgramas) {
		this.empleadosCierranProgramas = empleadosCierranProgramas;
	}
	
	public Set<EstadoEmpleadosHistorico> getEstadoEmpleadosHistoricos() {
		return this.estadoEmpleadosHistoricos;
	}

	public void setEstadoEmpleadosHistoricos(Set<EstadoEmpleadosHistorico> estadoEmpleadosHistoricos) {
		this.estadoEmpleadosHistoricos = estadoEmpleadosHistoricos;
	}
	
	public Set<Gasto> getGastos() {
		return this.gastos;
	}

	public void setGastos(Set<Gasto> gastos) {
		this.gastos = gastos;
	}
	
	public Set<InteresesEmpleado> getInteresesEmpleados() {
		return this.interesesEmpleados;
	}

	public void setInteresesEmpleados(Set<InteresesEmpleado> interesesEmpleados) {
		this.interesesEmpleados = interesesEmpleados;
	}
	
	public Set<LicenciasEmpleado> getLicenciasEmpleados() {
		return this.licenciasEmpleados;
	}

	public void setLicenciasEmpleados(Set<LicenciasEmpleado> licenciasEmpleados) {
		this.licenciasEmpleados = licenciasEmpleados;
	}
	
	public Set<Queja> getQuejas1() {
		return this.quejas1;
	}

	public void setQuejas1(Set<Queja> quejas1) {
		this.quejas1 = quejas1;
	}
	
	public Set<Queja> getQuejas2() {
		return this.quejas2;
	}

	public void setQuejas2(Set<Queja> quejas2) {
		this.quejas2 = quejas2;
	}
	
	public Set<ReservasEmpleadosUsuario> getReservasEmpleadosUsuarios() {
		return this.reservasEmpleadosUsuarios;
	}

	public void setReservasEmpleadosUsuarios(Set<ReservasEmpleadosUsuario> reservasEmpleadosUsuarios) {
		this.reservasEmpleadosUsuarios = reservasEmpleadosUsuarios;
	}
	
	public Set<SueldosEmpleado> getSueldosEmpleados() {
		return this.sueldosEmpleados;
	}

	public void setSueldosEmpleados(Set<SueldosEmpleado> sueldosEmpleados) {
		this.sueldosEmpleados = sueldosEmpleados;
	}
	
	public Set<TarjetasPresentacionEmpleado> getTarjetasPresentacionEmpleados() {
		return this.tarjetasPresentacionEmpleados;
	}

	public void setTarjetasPresentacionEmpleados(Set<TarjetasPresentacionEmpleado> tarjetasPresentacionEmpleados) {
		this.tarjetasPresentacionEmpleados = tarjetasPresentacionEmpleados;
	}
	
	public Set<TelefonosEmpleado> getTelefonosEmpleados() {
		return this.telefonosEmpleados;
	}

	public void setTelefonosEmpleados(Set<TelefonosEmpleado> telefonosEmpleados) {
		this.telefonosEmpleados = telefonosEmpleados;
	}
	
	public Set<Usuario> getUsuarios() {
		return this.usuarios;
	}

	public void setUsuarios(Set<Usuario> usuarios) {
		this.usuarios = usuarios;
	}
	
}